home *** CD-ROM | disk | FTP | other *** search
- unit Todo2;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls, Menus, ExtCtrls;
-
- type
- TForm1 = class(TForm)
- InputLine: TEdit;
- ToDoList: TListBox;
- AddBtn: TButton;
- DelBtn: TButton;
- ClearBtn: TButton;
- MainMenu1: TMainMenu;
- File1: TMenuItem;
- Save1: TMenuItem;
- SaveAs1: TMenuItem;
- Open1: TMenuItem;
- Exit1: TMenuItem;
- OpenDialog1: TOpenDialog;
- SaveDialog1: TSaveDialog;
- RadioGroupPriority: TRadioGroup;
- procedure AddBtnClick(Sender: TObject);
- procedure DelBtnClick(Sender: TObject);
- procedure ClearBtnClick(Sender: TObject);
- procedure Exit1Click(Sender: TObject);
- procedure Save1Click(Sender: TObject);
- procedure SaveAs1Click(Sender: TObject);
- procedure Open1Click(Sender: TObject);
- procedure ToDoListClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
-
- { This is a class definition for objects which can be associated with the
- strings in our ToDo list box's string list }
- ToDoItem = class(TObject)
- priority : integer;
- procedure PutPriority( a_priority : integer );
- function GetPriority : integer;
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
- procedure ToDoItem.PutPriority( a_priority : integer );
- begin
- priority := a_priority;
- end;
-
- function ToDoItem.GetPriority : integer;
- begin
- GetPriority := priority;
- end;
-
- function ConfirmFileSave(FileName : string) : boolean;
- begin
- if MessageDlg(FileName + ' already exists. Save anyway?',
- mtConfirmation, mbYesNoCancel, 0)
- = mrYes then
- ConfirmFileSave := true
- else
- ConfirmFileSave := false;
- end;
-
-
- procedure TForm1.AddBtnClick(Sender: TObject);
- var
- CurrentItem : ToDoItem;
- begin
- CurrentItem := ToDoItem.Create;
- CurrentItem.PutPriority(RadioGroupPriority.ItemIndex+1);
- ToDoList.Items.AddObject(InputLine.Text, CurrentItem);
- end;
-
- procedure TForm1.DelBtnClick(Sender: TObject);
- begin
- if ToDoList.ItemIndex >= 0 then
- ToDoList.Items.Delete(ToDoList.ItemIndex);
- end;
-
- procedure TForm1.ClearBtnClick(Sender: TObject);
- begin
- ToDoList.Clear;
- end;
-
- procedure TForm1.Exit1Click(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TForm1.Save1Click(Sender: TObject);
- begin
- if (OpenDialog1.Filename <> '')
- and (OpenDialog1.Filename <> '*.*') then
- begin
- ToDoList.Items.SaveToFile(OpenDialog1.Filename);
- end
- else SaveAs1Click(Sender);
- end;
-
- procedure TForm1.SaveAs1Click(Sender: TObject);
- var
- SaveFile : boolean;
- begin
- SaveFile := true;
- with SaveDialog1 do
- if Execute then
- begin
- if FileExists(FileName) then
- SaveFile := ConfirmFileSave(FileName);
- If SaveFile then
- begin
- ToDoList.Items.SaveToFile(Filename);
- OpenDialog1.Filename := Filename;
- end;
- end;
- end;
-
- procedure TForm1.Open1Click(Sender: TObject);
- begin
- with OpenDialog1 do
- if Execute then
- begin
- if FileExists(FileName) Then
- ToDoList.Items.LoadFromFile(FileName)
- else
- MessageDlg('Sorry. Can''t load this file. '+ FileName +
- ' does not exist!',
- mtInformation, [mbOK], 0);
- end;
- end;
-
- procedure TForm1.ToDoListClick(Sender: TObject);
- begin
- RadioGroupPriority.ItemIndex :=
- ToDoItem(ToDoList.Items.Objects[ToDoList.ItemIndex]).GetPriority - 1;
- end;
-
- end.
-